package com.sc.VenusQueryBeta.contract.vip;

import com.hengjun.kingstar.sdk.base.BasePresenter;
import com.hengjun.kingstar.sdk.base.IBaseFragment;
import com.hengjun.kingstar.sdk.base.IBaseModel;
import com.sc.VenusQueryBeta.model.bean.account.List;
import com.sc.VenusQueryBeta.model.bean.login.QueryRegisBean;



import io.reactivex.Observable;

/**
 * Created by SC-02 on 2018/9/19.
 * vip用户Contract(契约)接口
 */

public interface VipUserContract {
    abstract class VipUserPresenter extends BasePresenter<IVipModel, IVipView> {
        //查詢註冊服務器
        public abstract void queryRegisterServerSetting(String id);

        //查詢戶口
        public abstract void queryAccountList(String serverAddress, String projectName, int serverPort, String loginBeanId);

        //查詢是否有登錄的密碼
        public abstract void queryRegistPassword(int clientindex, String serverSettingIndex);

        //第一次登陆发送验证码
             public abstract void sendcode(int clientindex);

        //设置户口密码
              public abstract void sethukoupwd(String clientindex, String verificaCode,String smsQueryPassword,String serverSettingIndex);


        //户口密码输入时查询密码正确
        public abstract void conFirmPwd(String serverAddress, String projectName, int serverPort,String smsQueryPassword, String clientid);

        public abstract void sethukoupwd(int clientindex, String verificaCode,String smsQueryPassword,String serverSettingIndex);
    }

    interface IVipModel extends IBaseModel {
        ////查詢註冊服務器
        Observable<QueryRegisBean> queryRegisterServerSetting(String id);

        ////户口列表
        Observable<List> queryAccountList(String serverAddress, String projectName, int serverPort, String loginBeanId);

        //查詢是否有登錄的密碼
        Observable<String> queryRegistPassword(int clientindex, String serverSettingIndex);

        //第一次登陆发送验证码
        Observable<String> sendcode(int clientindex);

        //设置户口密码
        Observable<String> sethukoupwd(String clientindex, String verificaCode,String smsQueryPassword,String serverSettingIndex);

        //户口密码输入时查询密码正确
        Observable<String> conFirmPwd(String serverAddress, String projectName, int serverPort,String smsQueryPassword, String clientid);

        Observable<String> sethukoupwd(int clientindex, String verificaCode,String smsQueryPassword,String serverSettingIndex);
    }

    interface IVipView extends IBaseFragment {

        /**
         * 顯示查詢註冊
         * @param queryRegisBean
         */
        void showQueryRegisBeanDataSuccess(QueryRegisBean queryRegisBean);

        void showNetworkError();

        //戶口列表
        void showAccountListDataSuccess(List accountAccountListBean);

        //查詢是否有登錄的密碼
        void queryRegistPasswordBean(String queryRegistPasswordBean);

        //第一次登陆发送验证码
        void sendcodeBean(String sendcodeBean);

        //设置户口密码
              void sethukouBean(String sethukouBean);

        //户口密码输入时查询密码正确
            void conFirmPwdBean(String s);
    }
}
